Choose an arbitrary vertex v not in S. Perform a depth-first search starting at v. Each time that depth-first search finishes expanding a vertex u, push u onto S. Chọn một đỉnh v bất kì không nằm trong S. Thực hiện tìm kiếm theo chiều sâu bắt đầu từ v. Mỗi lần thuật toán tìm kiếm kết thúc việc tìm đường từ một đỉnh u, chèn u vào S.